package model.dao;

import java.util.List;

import model.bo.Article;


public interface IArticleDAO {

	// property constants
	public static final String ARTICLETITLE = "articletitle";

	public static final String ARTICLECONTENT = "articlecontent";

	public static final String TYPEID = "typeid";

	public static final String FATHERTYPEID = "fathertypeid";

	public static final String ARTICLEAUTHOR = "articleauthor";

	public abstract void save(Article transientInstance);

	public abstract void delete(Article persistentInstance);

	public abstract Article findById(java.lang.Integer id);

	public abstract List findByExample(Article instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findByArticletitle(Object articletitle);

	public abstract List findByArticlecontent(Object articlecontent);

	public abstract List findByTypeid(Object typeid);

	public abstract List findByFathertypeid(Object fathertypeid);

	public abstract List findByArticleauthor(Object articleauthor);
	
	public abstract List findAll();

	public abstract Article merge(Article detachedInstance);

	public abstract void attachDirty(Article instance);

	public abstract void attachClean(Article instance);
	
	public int execusql(final String sql);

	public int getAllRowCount(String hql);

	public List queryForPage(final String hql, final int offset,final int length);
}